Systems and methods for determining media creative attribution to website traffic

ABSTRACT

A media creative attribution method includes determining a response profile within an attribution time window, the response profile being a portion of a unique visitor (UV) curve associated with a website. In some cases, a shadow baseline analysis is run on every media creative that aired within an extended time window to determine whether to adjust the response profile. A total lift within the attribution time window is determined utilizing a baseline of the UV curve. A weight for each media creative that aired within the attribution time window is determined. Utilizing the weight, the total lift is allocated to individual media creatives that aired within the attribution time window. The allocated attribution can be utilized to generate performance metrics relating to the individual media creatives that aired within the attribution time window. The performance metrics such as cost per visitor can be visualized through a user interface or dashboard.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is a continuation of, and claims a benefit of priorityunder 35 U.S.C. 120 of, U.S. patent application Ser. No. 16/706,061filed Dec. 6, 2019, entitled “SYSTEMS AND METHODS FOR DETERMINING MEDIACREATIVE ATTRIBUTION TO WEBSITE TRAFFIC,” which claims a benefit ofpriority under 35 U.S.C. § 119(e) from U.S. Provisional Application No.62/776,587, filed Dec. 7, 2018, entitled “SYSTEMS AND METHODS FORDETERMINING MEDIA CREATIVE ATTRIBUTION TO WEBSITE TRAFFIC,” which arefully incorporated by reference herein for all purposes.

TECHNICAL FIELD

This disclosure relates generally to correlated data processing. Moreparticularly, this disclosure relates to systems, methods, and computerprogram products for correlated data processing for determining offlinemedia creative attribution to online traffic of a website on theInternet.

BACKGROUND OF THE RELATED ART

With the advent of the Internet, many aspects of modern life are nowdigitally connected through the seemingly ubiquitous smart phones, smarttelevisions (TV), smart home appliances, Internet of Things (IoT)devices, websites, mobile apps, etc. Even so, many more analog aspectsremain disconnected from this digital world. Linear TV is an example ofan offline medium that is disconnected from the digital world.

“Linear TV” refers to real time (live) television services that transmitTV program schedules. Almost all broadcast TV services can be consideredas linear TV. Non-linear TV covers streamlining and on-demandprogramming, which can be viewed at any time and is not constrained byreal-time broadcast schedules. Video-on-demand (VOD) and nearvideo-on-demand (NVOD) transmissions of pay-per-view programs overchannel feeds are examples of non-linear TV.

Because linear TV is an offline medium, it is not possible toautomatically collect information on viewers of linear TV. This createsa data gap problem. To address this data gap program, Nielsen MediaResearch devised audience measurement systems to determine the audiencesize and composition of television programming in the United States.Nielsen television ratings are gathered in one of two ways—using viewerdiaries or set meters attached to TVs in selected homes. The formerrequires a target audience self-record their viewing habits. The latterrequires a special device to collect specific viewing habits on a minuteto minute basis and send the collected information to Nielsen's systemover a phone line.

While Nielsen's audience measurement systems can provide some quantifiedmeasures of audience response to TV programs, the Nielsen televisionratings do not measure how TV commercials (referred to herein as “mediacreatives,” “ads,” “ad spots,” “TV spots,” or “spots”) attribute to awebsite's online traffic. This is, in part, because there is a naturaldistinction between two mediums: online (e.g., search engine marketing)and offline (e.g., linear TV).

The online medium is effective when consumers are already accessing theInternet through a website or mobile app. When a user is attracted to aproduct and visits a website for the product through the online medium(e.g., the website or mobile app showing an ad about the product), thereis a session associated with that referring website or mobile app. Thus,tracking a website visitor's movement from an online medium to thewebsite is a relatively straightforward process that can be done throughtracking the session at the website (e.g., using a tracking pixelembedded in a page or pages of the website or mobile app that sends datato a server of the website operator or a third-party entity).

The offline medium, on the other hand, aims to drive consumers first tothe Internet and then to the product's website or app. Unlike the onlinemedium, there is neither session tracking nor a direct relationshipbetween the offline medium and the desired result. Thus, suppose a spotthat aired on linear TV encouraged its viewer to visit a website ordownload an app, it can be extremely difficult to measure the impact ofthat spot and quantifiably attribute any website visit or app downloadto the particular spot.

The natural distinction between the online and offline mediums creates adata gap between the digital world and the analog world. In turn, thisdata gap makes it difficult to correlate data from the digital world andthe analog world and accurately measure the impact or attribution of aTV spot to a website's traffic. In the past, a typical approach forevaluating the performance of a TV commercial is to define theefficiency (E) of that TV commercial as Response per Amount Spent whereE is defined as E=100*lift /(ad spend). In this case, “lift” is a metricfor measuring a TV commercial in the context of a particular type ofcampaign—in this example, for measuring how much increase (lift) per$100 ad spend. This approach is generally independent to where and whenthe TV commercial aired on television networks.

SUMMARY OF THE DISCLOSURE

The approach described above can be inadequate in some cases. Forinstance, in some cases, a company or organization may want to measurethe effectiveness of a TV spot (or, the efficiency of an ad spend) inthe physical world by the number of unique visitors (UVs) to its websitein the online world. For example, a TV spot that aired immediately priora UV spike to the website (that can be measured by a server machinehosting the website) can be considered to have attributed to the UVspike.

The integration under this spike is called a “lift,” which can bedetermined based on the difference between the actual number of UVs anda “baseline.” Here, “baseline” refers to a UV curve for the websitewithout any TV spot airing. It is practically impossible, if notextremely difficult, to construct an accurate baseline for the website.One reason is that a website on the Internet can be continuouslyinfluenced by many factors in the real world. Another reason is thatmultiple TV spots could be airing at any given time in different places.Accordingly, UVs could visit the website from virtually anywhere for avariety of reasons—they could be influenced to visit the website bydifferent TV spots aired at geographically disparate locations. Althoughthey could also be influenced to visit the website and/or directed tothe website from other sites on the Internet, this kind of onlineinfluences is considered as part of normal traffic to the website andthus is not isolated in determining a UV baseline for the website.

An object of this disclosure is to provide a solution that can close thedata gap between the digital world and the analog world by meaningfullyand effectively correlating data from the digital world and the analogworld and measuring the impact or attribution of a TV spot to the onlinetraffic of a website on the Internet in an accurate and efficientmanner. According to embodiments, this and other objects can be achievedin a media creative attribution method comprising determining a responseprofile on a minute-by-minute basis within an attribution time window.In some embodiments, the attribution time window has a size of fiveminutes. The response profile refers to a portion of a unique visitor(UV) curve associated with a website. The response profile represents atemporal fingerprint or pattern for a media creative that aired on anoffline medium. In some embodiments, the response profile begins at afirst time that a first media creative aired on an offline medium andincludes a second time that a second media creative aired after thefirst media creative aired at the first time.

In some embodiments, the method further includes obtaining a baseline ofthe UV curve associated with the website and determining, utilizing thebaseline, a total lift within the attribution time window. In someembodiments, the total lift is determined by subtracting the baselinefrom the UV spike to obtain a lift per minute and aggregating the liftper minute within the attribution time window.

In some embodiments, the method further includes determining, utilizinga weighting function, a weight for each media creative that aired withinthe attribution time window, the weighting function comprising aplurality of factors, the plurality of factors including an audiencesize for each media creative that aired within the attribution timewindow. In some embodiments, dollar spend per media creative is used asa proxy for the audience size factor.

In some embodiments, the method further includes allocating the totallift to individual media creatives that aired within the attributiontime window, the allocating including applying the weight for each mediacreative that aired within the attribution time window.

In some embodiments, the method further includes determining, utilizingportions of the total lift allocated to individual media creatives thataired within the attribution time window, performance metrics relatingto the individual media creatives that aired within the attribution timewindow and presenting, through a user interface, the performance metricson a display.

In some embodiments, the response profile includes a shadow lift from amedia creative that aired outside the attribution time window. In suchembodiments, the method further comprises determining a shadow baselinefor an extended time window that extends beyond the attribution timewindow and, prior to determining the total lift within the attributiontime window, adjusting the baseline utilizing the shadow baseline.

In some embodiments, the method may further include running a shadowbaseline analysis within the extended time window on every mediacreative that aired within the extended time window and, based on theshadow baseline analysis, determining whether to adjust the responseprofile prior to determining the total lift within the attribution timewindow. In some embodiments, the extended time window has a size ofabout 15 to 20 minutes.

One embodiment may comprise a system having a processor and a memory andconfigured to implement the SCI process disclosed herein. One embodimentmay comprise a computer program product that comprises a non-transitorycomputer-readable storage medium which stores computer instructions thatare executable by a processor to perform the SCI process disclosedherein. Numerous other embodiments are also possible.

These, and other, aspects of the disclosure will be better appreciatedand understood when considered in conjunction with the followingdescription and the accompanying drawings. It should be understood,however, that the following description, while indicating variousembodiments of the disclosure and numerous specific details thereof, isgiven by way of illustration and not of limitation. Many substitutions,modifications, additions and/or rearrangements may be made within thescope of the disclosure without departing from the spirit thereof, andthe disclosure includes all such substitutions, modifications, additionsand/or rearrangements.

BRIEF DESCRIPTION OF THE DRAWINGS

The drawings accompanying and forming part of this specification areincluded to depict certain aspects of the disclosure. It should be notedthat the features illustrated in the drawings are not necessarily drawnto scale. A more complete understanding of the disclosure and theadvantages thereof may be acquired by referring to the followingdescription, taken in conjunction with the accompanying drawings inwhich like reference numbers indicate like features.

FIG. 1 depicts a diagrammatic representation of a network environment inwhich embodiments disclosed herein can be implemented.

FIG. 2 depicts a diagrammatic representation of a media creativeattribution system operating in a network environment according to someembodiments.

FIG. 3 is a flow chart illustrating an example of a media creativeattribution method according to some embodiments disclosed herein.

FIG. 4 depicts a plot diagram illustrating an example of a responseprofile.

FIG. 5 depicts a plot diagram illustrating an example of how a timewindow can be selected for a response profile.

FIG. 6 depicts a plot diagram illustrating an example of a complexresponse profile.

FIG. 7 depicts a stacked radiogram illustrating another example of acomplex response profile.

FIGS. 8A and 8B together show a chart illustrating how a lift in a UVline can be attributed to multiple TV spots that aired close in time.

FIG. 9 is a diagrammatical representation of a user interface showing anexample of a report with relative performance measures attributed to TVspots aired on different networks.

FIG. 10 depicts a diagrammatic representation of a data processingsystem for implementing a system according to some embodiments disclosedherein.

DETAILED DESCRIPTION

The disclosure and various features and advantageous details thereof areexplained more fully with reference to the exemplary, and thereforenon-limiting, embodiments illustrated in the accompanying drawings anddetailed in the following description. It should be understood, however,that the detailed description and the specific examples, whileindicating the preferred embodiments, are given by way of illustrationonly and not by way of limitation. Descriptions of known programmingtechniques, computer software, hardware, operating platforms andprotocols may be omitted so as not to unnecessarily obscure thedisclosure in detail. Various substitutions, modifications, additionsand/or rearrangements within the spirit and/or scope of the underlyinginventive concept will become apparent to those skilled in the art fromthis disclosure.

As illustrated in FIG. 1, there is a natural distinction between onlinedata and offline data. For instance, data aggregated and/or provided byonline and offline data sources can have very different data types. Whena TV commercial (which is an example of a media creative) is presentedto an audience through an online medium (e.g., a website or a mobileapplication acting as an advertising channel), the online medium can bean effective tool for a server that is programmed to compute theperformance efficiency of that TV commercial. This is because theaudience (i.e., potential consumers of a product or service offered bythe TV commercial) is already accessing the Internet through the websiteor the mobile application. When a user is attracted to or interested inthe product or service and visits the website or uses the mobileapplication to access the product or service, there is a sessionassociated with that advertising channel. Thus, whether such a sessionresults in a sale (or conversion) is a relatively straightforwardprocess that can be done through tracking the session at the website orthe mobile application (e.g., using a tracking pixel embedded in a pageor pages that sends data to a server computer hosting the website or onethat is associated with an entity offering the product or service).

The offline medium (e.g., linear TV), on the other hand, aims to drivepotential consumers first to the Internet and then to a website orapplication where a product or service is offered. Unlike the onlinemedium, there is neither session tracking nor a direct relationshipbetween the offline medium and the desired result. Without digitalevidence collected from TV viewers and TV networks, it is not possibleto directly assess the performance efficiency of a media creative. Thisdisconnect makes it extremely difficult to truly measure the performanceof a media creative and accurately attribute the media creative's impactto the number of UVs to a website on the Internet.

As alluded to above, an object of this disclosure is to provide asolution that can close the data gap between the digital world and theanalog world. A system implementing the solution is adapted tomeaningfully and effectively correlate data from the digital world andthe analog world and measure the impact or attribution of a TV spot tothe online traffic of a website on the Internet in an accurate andefficient manner. An example is illustrated in FIG. 2.

More specifically, FIG. 2 shows media creative attribution system 250communicatively connected to spot airing data providers 210 a... 210 nthrough analog communication channels (e.g., telephones, mail, couriers,etc.) and also to spot airing data providers 210 a ... 210 n overnetwork 220 (e.g., Internet) in network environment 200. Examples ofspot airing data providers 210 a ... 210 n can include TV networks,media agencies, third-party data providers such as a market researchfirm, etc.

In some embodiments, media creative attribution system 250 may beimplemented on one or more server machines operated by a mediaperformance analytics service provider. In some embodiments, mediacreative attribution system 250 can reside on a cloud-based serveroperating in a cloud computing environment.

The media performance analytics service provider may purchase spots fromTV networks to air media creatives. The media performance analyticsservice provider may provide media creative attribution system 250 withaccess to ad spend information which, in turn, enables media creativeattribution system 250 to compute efficiency for each media creative pereach network. Additionally or alternatively, spot airing data providers210 a ... 210 n can provide online data and/or offline data, asexemplified in FIG. 1. Examples of offline data can include spot airinglogs (before and after spots have aired) and rates from TV networks,spot airing data, program schedules, etc.

Spot airing data generally includes what and when spots aired and onwhat network. Often there is not a uniform format of spot airing datareceived or obtained from spot airing data providers 210 a ... 210 n.Media creative attribution system 250 is operable to uniquely identifyand store spot airing data per each instance of a spot airing on aparticular network at a particular time in spot airing data database260. In one embodiment, media creative attribution system 250 isoperable to perform, where necessary, data cleansing operations such asdeduplication, normalization, data format conversion, etc. Likewise,media creative attribution system 250 is operable to store online datain website data database 290. Examples of online data can includewebsite data for a particular website, including the number of UVsvisiting the website at a given time, the number of installations(“installs”) by website visitors, the number of purchases made at thewebsite, etc.

In the example of FIG. 2, media creative attribution system 250 furtherincludes media creative performance analyzer 280 and visualizer 270. Asdescribed below, media creative performance analyzer 280 is configuredfor determining media creative attribution and corresponding performancemetric(s). The media creative performance metrics can be utilized forpresentation on, e.g., on client devices 230 a ... 230 n through a userinterface (UI) generated by visualizer 270. In some embodiments,visualizer 270 is adapted for generating various visualizationsparticularly useful for decision making purposes.

Theoretically, a UV baseline of a website could be deduced by removingUV spikes attributable to TV spots from the actual UV numbers. However,intrinsic minute UV fluctuations are impossible to model. In someembodiments, a new “self-consistent” approach implemented on aninception architecture, referred to as the self-consistent inception(SCI) architecture, can be utilized to determine an accurate baselinefor a website. Details of the SCI architecture can be found in aco-pending U.S. patent application Ser. No. 16/705,813, filed Dec. 16,2019, entitled “SELF-CONSISTENT INCEPTION ARCHITECTURE FOR EFFICIENTBASELINING MEDIA CREATIVES,” which is incorporated by reference herein.Other baselining methodologies may also be used.

Once an accurate baseline is derived or otherwise generated, a systemimplementing an embodiment disclosed herein is adapted to determine alift, for instance, on a minute-by-minute basis, by subtracting thebaseline at a particular point in time from the number of UVs at thattime. Since such a lift can be an important metric in measuring theperformance of a media creative (e.g., its attribution to the number ofUVs at the website), it can be important to accurately attribute thelift to the correct TV spot.

A basic approach for attribution determination is to take the number ofUVs minus the determined baseline within a window (e.g., five minutes)and assign the difference as lift. Cumulative lift within an attributionwindow of a spot is then assigned to that spot. This basic approachworks well when there is only one TV spot within the window and when theTV spot within the window is not in the shadow of a previously aired,larger TV spot. For example, suppose a website generally has 100 UVs(baseline). Immediately (e.g., one or two minutes) after a mediacreative is aired, the number of UVs jumps to 250 (which is a UV spikethat can be observed from website traffic data). The lift is thedifference between the UV spike (250) and the baseline (100), which is150. In this example, since there's only one media creative in thewindow, 100 percent of the lift is attributed to the media creative.

This basic approach can be improved upon in cases of TV spots that airin close proximity temporally. In practice, multiple media creativescould air near each other in time or even at the same time. Becausethese airings take place in the offline world, it is not possible toaccurately allocate their individual attribution to the increase in thenumber of UVs to a website using conventional online trackingmechanisms. However, despite the inherent data gap problem, in somecases, a website operator and/or a company that owns the website maywant to know how offline media creatives attribute to its online websitetraffic.

To this end, embodiments disclosed herein provide a new approach fordetermining media creative attribution to website traffic. This approachleverages various media creative features, such as size of audience,temporal fingerprint, and historical network performance, to assignallocation. In some cases, incorporation of some of these features canbe straightforward. For others, it is considerably more complex. Astraightforward example is described with reference to FIGS. 3 and 4.

Generally, for each media creative (e.g., a TV spot) aired, there is atell-tale temporal response pattern or UV changes observable from thewebsite traffic data. This temporal pattern or temporal fingerprint isreferred to herein a response profile. The response profile includes thenumber of UVs on a minute-by-minute basis within a time window (e.g.,five minutes). Such a response profile can be a portion of a UV curvewithin a time window after the airing of a media creative.

Referring to FIG. 3, method 300 may include creating a response profileon a minute-by-minute basis within an attribution time window (e.g.,five minutes) (301). As illustrated in FIG. 4, this response profile canbe a portion of a UV curve within a time window after the airing of amedia creative.

In the example of FIG. 4, media creative 420 was aired at a point intime (T₁). From the website traffic data, it can be seen that UV spike430 occurred within time window 440 after media creative 420 was aired(e.g., T₁+five minutes). The portion of UV curve 410 within time window440, which includes UV spike 430, is referred to herein as a responseprofile.

Such a response profile can be determined by correlating the number ofUVs tracked at the website with the airing time of media creative 420and tracking the number of UVs within an attribution time window. Theairing time of media creative 420 can be obtained from the provider ofmedia creative 420 and/or the media channel (e.g., a TV network) thataired (or will air) media creative 420. In the example of FIG. 4, noother media creative aired at the same time or close in time to mediacreative 420. Thus, the lift (i.e., UV spike 430 minus the baseline ofUV curve 420) is attributable 100 percent to media creative 420.

In the example of FIG. 4, for purposes of lift evaluation, a tightattribution time window is used. In this case, a “tight” attributiontime window is 5 minutes. The reason for a tight attribution time windowis to ensure that a discernible signal can be isolated relative tonoise. So long as the signal-to-noise ratio is sufficient to pick outthe signal, any suitable attribution time window can be used.

That is, the size of an attribution time window is configurable and canvary from implementation to implementation. In some cases, the windowsize can be assigned based on domain knowledge (e.g., a lift to awebsite's UV line usually occurs within five minutes after a TV spotshowing the website's address is aired versus a lift in the number ofdownloads and installations of a company's app (e.g., a software productthat runs on iOS or Android) usually occurs within fifteen minutes aftera TV spot for software download and installation is aired). In somecases, the system can aggregate data on various types of TV spotsassociated with a website and determine a response profile based on amajority of the type of TV spots associated with the website. FIG. 5shows an example of a process in selecting a time window size for spotattribution.

In some embodiments, the time window size selection process involves twosteps. The first and the most important step is to run a deconvolutionprocess on the aggregated data, effectively averaging responses from aseries of TV spots and generating an average response profile that has agreatly enhanced signal-to-noise ratio. The average response profile isvisualized so that a practitioner can visually identify an appropriatewindow size for spot attribution, which will not be possible otherwise.

In some embodiments, the time window size for spot attribution may becomputed per an enterprise or website, or could be calculated separatelyfor different segments of an enterprise's or website's ad campaigns. Forinstance, a practitioner might choose to isolate certain segments forwhich differences in the response window might be expected, e.g., byplatform and/or metric being evaluated. For example, response times froma TV commercial aired on an offline medium might be different thanresponses when the TV commercial is aired on an online medium such as astreaming platform. Similarly, the metric evaluated can impact theresponse time as well, as the time for a user to respond by going to aparticular website mentioned in a TV spot might be different than thetime needed for a user to download and install a software productmentioned in a TV spot.

While specific response profiles may differ from one media creative toanother, generally, after a media creative is aired, an initial UV spikemay occur, following by an exponential decay. The impact or influence ofthe media creative generally tapers out over time. However, in somecases, a time window of five minutes may capture both the initial liftand the tail end of the lift. When multiple media creatives air at thesame time or close in time, the later one may benefit from the earlierone, especially if the later one is smaller than the earlier one interms of dollar spend. Identifying how many media creatives aired withinthe attribution time window can affect how media creative attribution iscomputed. Thus, in some embodiments, method 300 may further includeidentifying media creatives aired within the attribution time window(305).

As a non-limiting example, to compute media creative attribution whenmultiple media creatives aired within the same attribution time window,the system may first obtain a baseline of UVs (e.g., using theSelf-Consisting Inception approach described in the above-referencedco-pending patent application). Utilizing the baseline, the system maydetermine a total lift by a UV spike within the attribution time window.The system may do so on a minute-by-minute basis. That is, for eachminute in an attribution time window having a predetermined size, thesystem subtracts the baseline from the UV spike to obtain a lift perminute. The system then aggregates the lift per minute within theattribution time window to get a total lift for a specific mediacreative.

In some cases, multiple media creatives may occur within the same timewindow. A response profile having multiple media creatives occurringwithin the same time window is considered a complex response profile.FIG. 6 illustrates an example of a complex response profile.

In the example shown in FIG. 6, media creatives 620 and 640 occurredwithin time window 650, during which UV spike 610 occurred. Mediacreative 620 was aired at a first time point (T₁) and media creative 640was aired at a second time point (T₂), shortly after the first timepoint. In this case, the system is operable to determine that, of the 35UVs associated with the lift, 23 are attributable to media creative 620and 12 are attributable to media creative 640.

Another example of a complex response profile is shown in FIG. 7. In theexample of FIG. 7, media creatives (Ad1 and Ad2) occurred within timewindow 750, during which UV spike 710 occurred. Referring to FIGS. 8Aand 8B, media creative Ad1 (spot 1) was aired at a first time (13:47)and media creative Ad2 (spot 2) was aired at a second time (13:50)shortly after the first time. To compute the lift attributable percreative for a specific minute (e.g., at a third time, 13:51), thesystem is operable to determine that, of the 15 UVs associated with thattime, 7.2 are counted as baseline, and the other 7.8 as the lift. Ofthat 7.8 lift, 2.3 are attributable to media creative Ad1 and 5.5 areattributable to media creative Ad2.

FIGS. 7, 8A, and 8B illustrate possible visualizations that show theallocation of lift due to multiple TV spots. Other types ofvisualizations are also possible.

In the above example, the dollars spent (referred to as “spend”) are$400 for spot 1 and $200 for spot 2. In some embodiments, each spendassociated with a TV spot is utilized as a proxy for a correspondingweight for the TV spot. The weight is utilized for attributioncomputation.

Accordingly, in some embodiments, method 300 may further includedetermining, using a weighting function, appropriate weights for mediacreatives that aired within the attribution time window (310). Theweighting function is defined based on a plurality factors, includingthe audience size, temporal fingerprint, and historical networkperformance. In some embodiments, the plurality factors can be appliedsimultaneously or iteratively adjusted one factor at a time. Preferably,the system applies the plurality factors of the weighting functionsimultaneously.

In some embodiments, the weighting function determines what percentageof weight is assigned to each media creative in the attribution timewindow. For instance, the audience size can be determined using dataprovided by a third-party data provider that tracks, for instance, mediaviewers across 31 million households. As a non-limiting example, mediacreative spot 1 may be aired on a large TV network with a millionviewers, while media creative spot 2 may be aired on a smaller TVnetwork with 20,000 viewers. Based on these data points, the system candetermine that the audience size for media creative spot 1 is 50 timesthat of media creative spot 2. That is, if the audience size for mediacreative spot 2 is X, the audience size for media creative spot 1 wouldbe 50X. Put it another way, the weight for media creative spot 2 can be20% or 0.2 of that for media creative spot 1.

As discussed above, in some cases, dollar spend per media creative canbe used as a proxy for audience size. For example, it is possible thatthe audience size data is missing for a network (e.g., the network isnot tracked by the third-party data provider). Since data on dollarspend can be readily obtained (e.g., from a media creative provider),the ratio of dollar spend can be used as a proxy for weighting theaudience size. For instance, suppose $1000 is spent for one mediacreative, while $50 is spent for another media creative. In such a case,the audience size for the latter media creative can be assumed as 1/20^(th) that of the former media creative and 0.05 can be used as a weightfor the audience size for the latter media creative.

As also discussed above, during the attribution time window, the totallift is calculated as: Lift(total)=sum(UV−baseline)

The total lift is allocated to individual media creatives based on aweighting function that incorporates various media creative attributes(factors) (315). Following the above example, weights determined foraudience size can be utilized in determining appropriate attributionallocation of media creatives spot 1 and spot 2.

Alternatively or additionally, the historical network performance can beused to adjust the attribution allocation. For example, suppose a firstmedia creative aired on a large network at 2:30 PM and a second mediacreative aired on a smaller network at 2:33 PM. At this time, two mediacreatives have aired within a five-minute attribution window. The systemimplementing method 300 may operate to first examine historical data andconstruct a response profile for each minute (or on a second-by-secondbasis in some embodiments) using data from a data provider. Thistime-based response profile provides a percentage of the incrementaltraffic to expect three seconds after a media creative airing.

Without historical network performance adjustments, an inherentassumption is that response rates, or % lift per viewed impression, willbe uniform across networks. An adjustment can be incorporated into thecomputations by running through the attribution methodology asdescribed, then taking the computed response rate per network and usingthose response rates to make adjustments to scale the attribution pernetwork. This process can then be iterated until it quickly converges tofinalized response rates per network. Note that the scaling factor canbe applied in the same way (as a multiplicative factor), as the spendlevels are leveraged in the computation.

In some cases, a response profile may only contains a single UV spike.However, the single UV spike may actually be a combined response fromtwo spots aired within a minute or less of each other. This isillustrated in FIG. 7 which shows temporal fingerprinting of mediacreative Ad2 in attribution time window 760 being influenced by a tailend of media creative Ad1 that occurred outside of attribution timewindow 760.

Temporal fingerprinting is about figuring out how much of a UV spike isattributable to a media creative. If multiple media creatives aired onsimilar sized networks having similar audience sizes, it's astraightforward process to figure out. For example, two media creativesaired on similar sized networks having similar audience sizes, theappropriate weights for the two media creatives would be 50-50. However,as FIG. 7 illustrates, attribution allocation becomes a very complexproblem when the latter one is smaller than the former one.

One reason is that audience size, which can differ from network tonetwork, is not the only metric that can affect lift attributionallocation. There are additional factors involved in computing theintensity of lift. For instance, historical network performance can alsoaffect lift attribution allocation. For example, there can be a 2-to-1ratio of response rate between the two media creatives in general basedon the networks (i.e., the larger network generally performs twice ashigh than the smaller network). As discussed above, the system candetermine an expected response profile (e.g., an anticipated responserate) from historical data (e.g., provided by a data provider). Thesystem can determine a weighting function utilizing the audience sizetimes the anticipated response rate adjusted by temporal fingerprint.The system can then apply the weighting function to the number of UVs ona minute-by-minute basis (or on any suitable time unit).

This approach can be particularly useful when one media creative issmaller than the other one aired earlier. For instance, as illustratedin FIG. 7, by the time that media creative Ad2 was aired, the residualimpact of UV spike 710 from media creative Ad1 is still large enough toovershadow the impact of the smaller media creative Ad2, even thoughmedia creative Ad1 occurred outside of window 760. That is, in theexample of FIG. 7, media creative Ad2 actually benefited from a responseprofile of media creative Ad1, which is significantly larger than mediacreative Ad2. As illustrated in FIG. 7, the response profile of mediacreative Ad2 is influenced by the shadow of the residual lift cause bythe larger, earlier media creative Ad1. Although some small UV spikesseem to have also occurred in attribution time window 760, it is unclearhow much of the total lift in attribution time window 760 isattributable to media creative Ad2 and how much is attributable to theshadow of media creative Ad1 (as exemplified by shadow lift 730 shown inFIG. 7). This is referred to as a shadow lift problem.

As discussed above, a response profile is determined on a time unitbasis (e.g., a minute) within a tight attribution time window (e.g.,five minutes). As such, the response profile may not accurately reflecta shadow lift from rather large media creatives. To account for theinfluence of such a shadow lift (which is caused by a media creativethat occurred relatively close in time, but outside of the currentattribution time window), the system may determine a shadow baseline foran extended time window that extends beyond the tight attributionwindow. The system may then use the shadow baseline to adjust thebaseline for future lift. The shadow baseline is not used in determiningattribution allocation. Rather, it is used to adjust the baseline, basedon which the total lift is determined. For example, the overall liftfrom a very large media creative can be distributed as follows:

min 1—50%

min 2—25%

min 3—17%

...

min 7—2.5%

min 8—1.5%

min 9—negligible

The lift associated with a media creative beyond the tight attributiontime window is already incorporated in the drag factor; however, thesystem will reduce future lift of media creatives occurring just outsideof the window of lift for the prior media creatives. There are variousreasons why the system only leverages the extended time window (e.g.,15-20 minutes) as a shadow for adjusted future lift instead of justextending the attribution window in general. One example is theunfavorable signal to noise ratio in these shadow regions, which wouldunnecessarily create more volatility in the results.

As discussed above, FIGS. 8A and 8B together show how lift isattributable to two spots that aired in close proximity temporally. Inthe non-limiting example of FIGS. 8A and 8B, the lift columns show thefinal computed lift values that will be allocated to each of the spotsbased on the overall lift for each minute (minutely lift).

Essentially, the system determines the response profile (within anattribution time window) and runs the shadow baseline analysis (withinthe extended window) on every media creative to determine whether theresponse profile should be adjusted to obtain the correct total lift.The system can then determine the appropriate weights and attributionallocation of each media creative within the attribution window. In someembodiments, the attribution allocation of each media creative withinthe attribution window can be utilized in determining the relativeperformance levels/metrics of media creatives. The system can generate areport and/or send a notification to a user of the results (e.g.,attribution allocation, performance metrics, etc.) determined by thesystem. FIG. 9 shows an example of how such a report can be visualizedthrough user interface or dashboard 900.

FIG. 10 depicts a diagrammatic representation of a data processingsystem for implementing a system for processing messages. As shown inFIG. 10, data processing system 1000 may include one or more centralprocessing units (CPU) or processors 1001 coupled to one or more userinput/output (I/O) devices 1002 and memory devices 1003. Examples of I/Odevices 1002 may include, but are not limited to, keyboards, displays,monitors, touch screens, printers, electronic pointing devices such asmice, trackballs, styluses, touch pads, or the like. Examples of memorydevices 1003 may include, but are not limited to, hard drives (HDs),magnetic disk drives, optical disk drives, magnetic cassettes, tapedrives, flash memory cards, random access memories (RAMs), read-onlymemories (ROMs), smart cards, etc. Data processing system 1000 can becoupled to display 1006, information device 1007 and various peripheraldevices (not shown), such as printers, plotters, speakers, etc. throughI/O devices 1002. Data processing system 1000 may also be coupled toexternal computers or other devices through network interface 1004,wireless transceiver 1005, or other means that is coupled to a networksuch as a local area network (LAN), wide area network (WAN), or theInternet.

Those skilled in the relevant art will appreciate that the invention canbe implemented or practiced with other computer system configurations,including without limitation multi-processor systems, network devices,mini-computers, mainframe computers, data processors, and the like. Theinvention can be embodied in a computer or data processor that isspecifically programmed, configured, or constructed to perform thefunctions described in detail herein. The invention can also be employedin distributed computing environments, where tasks or modules areperformed by remote processing devices, which are linked through acommunications network such as a LAN, WAN, and/or the Internet. In adistributed computing environment, program modules or subroutines may belocated in both local and remote memory storage devices. These programmodules or subroutines may, for example, be stored or distributed oncomputer-readable media, including magnetic and optically readable andremovable computer discs, stored as firmware in chips, as well asdistributed electronically over the Internet or over other networks(including wireless networks). Example chips may include ElectricallyErasable Programmable Read-Only Memory (EEPROM) chips. Embodimentsdiscussed herein can be implemented in suitable instructions that mayreside on a non-transitory computer-readable medium, hardware circuitryor the like, or any combination and that may be translatable by one ormore server machines. Examples of a non-transitory computer-readablemedium are provided below in this disclosure.

ROM, RAM, and HD are computer memories for storing computer-executableinstructions executable by the CPU or capable of being compiled orinterpreted to be executable by the CPU. Suitable computer-executableinstructions may reside on a computer readable medium (e.g., ROM, RAM,and/or HD), hardware circuitry or the like, or any combination thereof.Within this disclosure, the term “computer-readable medium” is notlimited to ROM, RAM, and HD and can include any type of data storagemedium that can be read by a processor. Examples of computer-readablestorage media can include, but are not limited to, volatile andnon-volatile computer memories and storage devices such as random accessmemories, read-only memories, hard drives, data cartridges, directaccess storage device arrays, magnetic tapes, floppy diskettes, flashmemory drives, optical data storage devices, compact-disc read-onlymemories, and other appropriate computer memories and data storagedevices. Thus, a computer-readable medium may refer to a data cartridge,a data backup magnetic tape, a floppy diskette, a flash memory drive, anoptical data storage drive, a CD-ROM, ROM, RAM, HD, or the like.

The processes described herein may be implemented in suitablecomputer-executable instructions that may reside on a computer-readablemedium (for example, a disk, CD-ROM, a memory, etc.). Alternatively oradditionally, the computer-executable instructions may be stored assoftware code components on a direct access storage device array,magnetic tape, floppy diskette, optical storage device, or otherappropriate computer-readable medium or storage device.

Any suitable programming language can be used to implement the routines,methods, or programs of embodiments of the invention described herein,including Python. Other software/hardware/network architectures may beused. For example, the functions of the disclosed embodiments may beimplemented on one computer or shared/distributed among two or morecomputers in or across a network. Communications between computersimplementing embodiments can be accomplished using any electronic,optical, radio frequency signals, or other suitable methods and tools ofcommunication in compliance with known network protocols.

Different programming techniques can be employed such as procedural orobject oriented. Any particular routine can execute on a single computerprocessing device or multiple computer processing devices, a singlecomputer processor or multiple computer processors. Data may be storedin a single storage medium or distributed through multiple storagemediums, and may reside in a single database or multiple databases (orother data storage techniques). Although the steps, operations, orcomputations may be presented in a specific order, this order may bechanged in different embodiments. In some embodiments, to the extentmultiple steps are shown as sequential in this specification, somecombination of such steps in alternative embodiments may be performed atthe same time. The sequence of operations described herein can beinterrupted, suspended, or otherwise controlled by another process, suchas an operating system, kernel, etc. The routines can operate in anoperating system environment or as stand-alone routines. Functions,routines, methods, steps, and operations described herein can beperformed in hardware, software, firmware, or any combination thereof.

Embodiments described herein can be implemented in the form of controllogic in software or hardware or a combination of both. The controllogic may be stored in an information storage medium, such as acomputer-readable medium, as a plurality of instructions adapted todirect an information processing device to perform a set of stepsdisclosed in the various embodiments. Based on the disclosure andteachings provided herein, a person of ordinary skill in the art willappreciate other ways and/or methods to implement the invention.

It is also within the spirit and scope of the invention to implement insoftware programming or code any of the steps, operations, methods,routines or portions thereof described herein, where such softwareprogramming or code can be stored in a computer-readable medium and canbe operated on by a processor to permit a computer to perform any of thesteps, operations, methods, routines or portions thereof describedherein. The invention may be implemented by using software programmingor code in one or more digital computers, by using application specificintegrated circuits, programmable logic devices, field programmable gatearrays, optical, chemical, biological, quantum or nanoengineeredsystems, components and mechanisms may be used. The functions of theinvention can be achieved in many ways. For example, distributed ornetworked systems, components, and circuits can be used. In anotherexample, communication or transfer (or otherwise moving from one placeto another) of data may be wired, wireless, or by any other means.

A “computer-readable medium” may be any medium that can contain, store,communicate, propagate, or transport the program for use by or inconnection with the instruction execution system, apparatus, system, ordevice. The computer-readable medium can be, by way of example only butnot by limitation, an electronic, magnetic, optical, electromagnetic,infrared, or semiconductor system, apparatus, system, device,propagation medium, or computer memory. Such computer-readable mediumshall be machine readable and include software programming or code thatcan be human readable (e.g., source code) or machine readable (e.g.,object code). Examples of non-transitory computer-readable media caninclude random access memories, read-only memories, hard drives, datacartridges, magnetic tapes, floppy diskettes, flash memory drives,optical data storage devices, compact-disc read-only memories, and otherappropriate computer memories and data storage devices. In anillustrative embodiment, some or all of the software components mayreside on a single server computer or on any combination of separateserver computers. As one skilled in the art can appreciate, a computerprogram product implementing an embodiment disclosed herein may compriseone or more non-transitory computer-readable media storing computerinstructions translatable by one or more processors in a computingenvironment.

A “processor” includes any, hardware system, mechanism or component thatprocesses data, signals or other information. A processor can include asystem with a central processing unit, multiple processing units,dedicated circuitry for achieving functionality, or other systems.Processing need not be limited to a geographic location, or havetemporal limitations. For example, a processor can perform its functionsin “real-time,” “offline,” in a “batch mode,” etc. Portions ofprocessing can be performed at different times and at differentlocations, by different (or the same) processing systems.

As used herein, the terms “comprises,” “comprising,” “includes,”“including,” “has,” “having,” or any other variation thereof, areintended to cover a non-exclusive inclusion. For example, a process,product, article, or apparatus that comprises a list of elements is notnecessarily limited only those elements but may include other elementsnot expressly listed or inherent to such process, product, article, orapparatus.

Furthermore, the term “or” as used herein is generally intended to mean“and/or” unless otherwise indicated. For example, a condition A or B issatisfied by any one of the following: A is true (or present) and B isfalse (or not present), A is false (or not present) and B is true (orpresent), and both A and B are true (or present). As used herein, a termpreceded by “a” or “an” (and “the” when antecedent basis is “a” or “an”)includes both singular and plural of such term (i.e., that the reference“a” or “an” clearly indicates only the singular or only the plural).Also, as used in the description herein, the meaning of “in” includes“in” and “on” unless the context clearly dictates otherwise. The scopeof the present disclosure should be determined by the following claimsand their legal equivalents.

1. A media creative attribution method, comprising: determining, by acomputer, a response profile on a minute-by-minute basis within anattribution time window, the response profile being a portion of aunique visitor (UV) curve associated with a website, wherein the portionbegins at a first time that a first media creative aired on an offlinemedium and includes a second time that a second media creative airedafter the first media creative aired at the first time; obtaining, bythe computer, a baseline of the UV curve associated with the website;determining, by the computer utilizing the baseline, a total lift withinthe attribution time window; determining, by the computer utilizing aweighting function, a weight for each media creative that aired withinthe attribution time window, the weighting function comprising aplurality of factors, the plurality of factors including an audiencesize for each media creative that aired within the attribution timewindow; allocating, by the computer, the total lift to individual mediacreatives that aired within the attribution time window, the allocatingincluding applying the weight for each media creative that aired withinthe attribution time window; determining, by the computer utilizingportions of the total lift allocated to individual media creatives thataired within the attribution time window, performance metrics relatingto the individual media creatives that aired within the attribution timewindow; and presenting, through a user interface, the performancemetrics on a display.
 2. The media creative attribution method of claim1, wherein the total lift is determined by: subtracting the baselinefrom the UV spike to obtain a lift per minute; and aggregating the liftper minute within the attribution time window.
 3. The media creativeattribution method of claim 1, wherein the attribution time window has asize of five minutes.
 4. The media creative attribution method of claim1, further comprising: utilizing dollar spend per media creative as aproxy for the audience size.
 5. The media creative attribution method ofclaim 1, wherein the response profile includes a shadow lift from amedia creative that aired outside the attribution time window, themethod further comprising: determining a shadow baseline for an extendedtime window that extends beyond the attribution time window; and priorto determining the total lift within the attribution time window,adjusting the baseline utilizing the shadow baseline.
 6. The mediacreative attribution method of claim 5, further comprising: running ashadow baseline analysis within the extended time window on every mediacreative that aired within the extended time window; and based on theshadow baseline analysis, determining whether to adjust the responseprofile prior to determining the total lift within the attribution timewindow.
 7. The media creative attribution method of claim 5, wherein theextended time window has a size of about 15 to 20 minutes.
 8. A system,comprising: a processor; a non-transitory computer-readable medium; andstored instructions translatable by the processor for: determining aresponse profile on a minute-by-minute basis within an attribution timewindow, the response profile being a portion of a unique visitor (UV)curve associated with a website, wherein the portion begins at a firsttime that a first media creative aired on an offline medium and includesa second time that a second media creative aired after the first mediacreative aired at the first time; obtaining a baseline of the UV curveassociated with the website; determining, utilizing the baseline, atotal lift within the attribution time window; determining, utilizing aweighting function, a weight for each media creative that aired withinthe attribution time window, the weighting function comprising aplurality of factors, the plurality of factors including an audiencesize for each media creative that aired within the attribution timewindow; allocating the total lift to individual media creatives thataired within the attribution time window, the allocating includingapplying the weight for each media creative that aired within theattribution time window; determining, utilizing portions of the totallift allocated to individual media creatives that aired within theattribution time window, performance metrics relating to the individualmedia creatives that aired within the attribution time window; andpresenting, through a user interface, the performance metrics on adisplay.
 9. The system of claim 8, wherein the total lift is determinedby: subtracting the baseline from the UV spike to obtain a lift perminute; and aggregating the lift per minute within the attribution timewindow.
 10. The system of claim 8, wherein the attribution time windowhas a size of five minutes.
 11. The system of claim 8, wherein thestored instructions are further translatable by the processor for:utilizing dollar spend per media creative as a proxy for the audiencesize.
 12. The system of claim 8, wherein the response profile includes ashadow lift from a media creative that aired outside the attributiontime window, the method further comprising: determining a shadowbaseline for an extended time window that extends beyond the attributiontime window; and prior to determining the total lift within theattribution time window, adjusting the baseline utilizing the shadowbaseline.
 13. The system of claim 12, wherein the stored instructionsare further translatable by the processor for: running a shadow baselineanalysis within the extended time window on every media creative thataired within the extended time window; and based on the shadow baselineanalysis, determining whether to adjust the response profile prior todetermining the total lift within the attribution time window.
 14. Thesystem of claim 12, wherein the extended time window has a size of about15 to 20 minutes.
 15. A computer program product comprising anon-transitory computer-readable medium storing instructionstranslatable by a processor for: determining a response profile on aminute-by-minute basis within an attribution time window, the responseprofile being a portion of a unique visitor (UV) curve associated with awebsite, wherein the portion begins at a first time that a first mediacreative aired on an offline medium and includes a second time that asecond media creative aired after the first media creative aired at thefirst time; obtaining a baseline of the UV curve associated with thewebsite; determining, utilizing the baseline, a total lift within theattribution time window; determining, utilizing a weighting function, aweight for each media creative that aired within the attribution timewindow, the weighting function comprising a plurality of factors, theplurality of factors including an audience size for each media creativethat aired within the attribution time window; allocating the total liftto individual media creatives that aired within the attribution timewindow, the allocating including applying the weight for each mediacreative that aired within the attribution time window; determining,utilizing portions of the total lift allocated to individual mediacreatives that aired within the attribution time window, performancemetrics relating to the individual media creatives that aired within theattribution time window; and presenting, through a user interface, theperformance metrics on a display.
 16. The computer program product ofclaim 15, wherein the total lift is determined by: subtracting thebaseline from the UV spike to obtain a lift per minute; and aggregatingthe lift per minute within the attribution time window.
 17. The computerprogram product of claim 15, wherein the attribution time window has asize of five minutes.
 18. The computer program product of claim 15,wherein the instructions are further translatable by the processor for:utilizing dollar spend per media creative as a proxy for the audiencesize.
 19. The computer program product of claim 15, wherein the responseprofile includes a shadow lift from a media creative that aired outsidethe attribution time window, the method further comprising: determininga shadow baseline for an extended time window that extends beyond theattribution time window; and prior to determining the total lift withinthe attribution time window, adjusting the baseline utilizing the shadowbaseline.
 20. The computer program product of claim 19, wherein theinstructions are further translatable by the processor for: running ashadow baseline analysis within the extended time window on every mediacreative that aired within the extended time window; and based on theshadow baseline analysis, determining whether to adjust the responseprofile prior to determining the total lift within the attribution timewindow.